#include<iostream>
#include<vector>
using namespace std;


class Solution {
public:
    vector<int> plusOne(vector<int>& digits) {
        int carry = 0;
        for(int i = digits.size() - 1; i >= 0; --i){
            int flag = (i == digits.size() - 1);
            int addnum = (flag + digits[i] + carry) % 10;
            carry = (flag + digits[i] + carry) / 10;
            digits[i] = addnum;
        }
        if(carry) digits.insert(digits.begin(), 1);
        return digits;
    }
};
